package com.system.permissiondemo.mapper;

import com.system.permissiondemo.entity.SysAclModule;
import com.system.permissiondemo.entity.SysAclModuleExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface SysAclModuleMapper {
    long countByExample(SysAclModuleExample example);

    int deleteByExample(SysAclModuleExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(SysAclModule record);

    int insertSelective(SysAclModule record);

    List<SysAclModule> selectByExample(SysAclModuleExample example);

    SysAclModule selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") SysAclModule record, @Param("example") SysAclModuleExample example);

    int updateByExample(@Param("record") SysAclModule record, @Param("example") SysAclModuleExample example);

    int updateByPrimaryKeySelective(SysAclModule record);

    int updateByPrimaryKey(SysAclModule record);

    //检查数据是否已存在：权限模版id，权限模版名称，上级权限模版id
    int countByNameAndParentId(@Param("id")Integer id,@Param("parentId")Integer parentId,@Param("name")String name);

    List<SysAclModule> getChildDeptListByLevel(@Param("level")String level);
    //批量更新部门level
    void batchUpdateLevel(@Param("aclModules")List<SysAclModule> aclModules);

    //全部数
    List<SysAclModule> getAllAclModule();
}